# Contributor: Daniel Sabogal <dsabogalcc@gmail.com>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
#
# secfixes:
#   0.1.6-r1:
#     - CVE-2016-1248
#   0.2.0-r0:
#     - CVE-2017-5953
#     - CVE-2017-6349
#     - CVE-2017-6350
#   0.3.6-r0:
#     - CVE-2019-12735

# TODO: Try to trim the base package to include only common syntax files etc.
pkgname=neovim
pkgver=0.4.4
pkgrel=0
pkgdesc="Vim-fork focused on extensibility and agility"
url="https://neovim.io"
arch="all"
license="Apache-2.0 custom"
makedepends="cmake gettext-dev gperf libtermkey-dev libuv-dev libvterm-dev
	lua5.1-lpeg lua5.1-mpack msgpack-c-dev unibilium-dev libluv-dev"
# Build neovim with lua instead of luajit on aarch64
# See https://github.com/neovim/neovim/issues/7879
case "$CARCH" in
	aarch64) makedepends="$makedepends lua5.1-dev lua5.1-bitop" ;;
	*) makedepends="$makedepends luajit-dev" ;;
esac
subpackages="$pkgname-lang $pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/neovim/neovim/archive/v$pkgver.tar.gz
	nodoc.txt
	"

build() {
	mkdir -p "$builddir"/build
	cd "$builddir"/build

	local cmakeoptions=
	case "$CARCH" in
		aarch64) cmakeoptions="-DPREFER_LUA=ON" ;;
	esac

	cmake .. \
		-DCMAKE_BUILD_TYPE=None \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DENABLE_JEMALLOC=FALSE \
		-DCMAKE_VERBOSE_MAKEFILE=TRUE \
		$cmakeoptions
	make
}

package() {
	cd "$builddir"/build
	make DESTDIR="$pkgdir" install
}

doc() {
	default_doc

	pkgdesc="$pkgdesc (documentation and help pages)"
	replaces="$pkgname"
	local docdir="usr/share/nvim/runtime/doc"

	mkdir -p "$subpkgdir"/$docdir
	mv "$pkgdir"/$docdir/*.txt "$subpkgdir"/$docdir/

	# When user execute ":help <pattern>", neovim will open nodoc.txt
	# with information why docs are not available and how to install them.
	install -D "$srcdir"/nodoc.txt \
		"$pkgdir"/$docdir/nodoc.txt
	local f; for f in "$subpkgdir"/$docdir/*.txt; do
		ln -s nodoc.txt "$pkgdir"/$docdir/$(basename $f)
	done
}

sha512sums="ca5c2fe1784ac7b0d2117948ba2e9ae5d94e36d22ff9e0967047e1e03e605537672d85543897af335103215ad462c86962f25267d352a77d61bc3d1cafb3c183  neovim-0.4.4.tar.gz
72ab288f53acddc088c567aafe8c5afa6835325fab7879e782d1d62f87a662f3a6bac123c450debbae1b32336cc60b2830b429838ee3dfcc7524773b5069f4f0  nodoc.txt"
